home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / ms_dos / gds / gds.man < prev   
Encoding:
Text File  |  1993-07-08  |  10.9 KB  |  507 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.     GDS access library.
  7.     version 1.20.
  8.  
  9.     哇内 進 ( Wonder's Dream )
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.     割り込みオペレ-ション
  21.     interrupt operation
  22.  
  23.  
  24.  
  25.  
  26.  
  27. ■    初期化
  28.  
  29.     【 書式 】    char *GDS_init(int size);
  30.  
  31.     【 引数 】    int    size    作業領域のサイズ
  32.  
  33.     【戻り値】    char    *work    作業領域のアドレス
  34.  
  35.     【 解説 】      GDS, 作業領域 を初期化します。
  36.                 作業領域のサイズは、各グラフィックオペレーションで指定されて
  37.                 いる作業領域のサイズの総和+αとなります。戻り値で受け取る
  38.                 作業領域のアドレスは本ライブラリのグラフィックオペレーションを
  39.                 呼び出す時の引数で必要になります。
  40.                   なお、作業領域は本関数が自動的にスモ-ルモデルのヒ-プ領域
  41.                 から獲得します。ですから、獲得できる作業領域の最大サイズは
  42.                 【 64Kバイト-スタック領域-DATA領域-BSS領域 】
  43.                 となります。
  44.  
  45.  
  46. ■    パレットレジスタの設定
  47.  
  48.     【 書式 】    int GDS_palette(int color,char red,char green,char blue);
  49.  
  50.     【 引数 】    int    color    色識別番号
  51.             char    red    赤系の色階調 ( 0 ~ 255 )
  52.             char    green    緑系の色階調 ( 0 ~ 255 )
  53.             char    blue    青系の色階調 ( 0 ~ 255 )
  54.  
  55.     【戻り値】    int    ret    0 : 正常終了
  56.  
  57.     【 解説 】    パレットレジスタに対応する色を設定します。
  58.  
  59.  
  60. ■    全画面の消去
  61.  
  62.     【 書式 】    int GDS_all_clear(void);
  63.  
  64.     【戻り値】    int    ret    0 : 正常終了
  65.  
  66.     【 解説 】    書き込みペ-ジの全画面を消去します。
  67.  
  68.  
  69. ■    ドットデ-タの読み込み
  70.  
  71.     【 書式 】    char *GDS_get_block(int x1,int y1,int x2,int y2,char page);
  72.  
  73.     【 引数 】    int    x1    X座標値
  74.             int    y1    Y座標値
  75.             int    x2    対角のX座標値
  76.             int    y2    対角のY座標値
  77.             char    page    読み込みペ-ジ
  78.  
  79.     【戻り値】    char *    work    ドットデ-タの格納領域
  80.                     NULL : 読み込み失敗
  81.  
  82.     【 解説 】      矩形域内のドットデ-タを読み込みます。戻り値が NULL の
  83.                 場合は読み込みに失敗したことを示しています。凡そ考えられる
  84.                 失敗の理由は、ドットデ-タを格納するヒ-プ領域の不足と
  85.                 思われます。
  86.  
  87.  
  88. ■    ドットデ-タの書き込み
  89.  
  90.     【 書式 】    int GDS_put_block(char *data,int x1,int y1,int x2,int y2,
  91.                                   char page,char mode);
  92.  
  93.     【 引数 】    char *    work    ドットデ-タの格納領域
  94.             int    x1    X座標値
  95.             int    y1    Y座標値
  96.             int    x2    対角のX座標値
  97.             int    y2    対角のY座標値
  98.             char    page    書き込みペ-ジ
  99.             char    mode    書き込みモ-ド
  100.  
  101.     【戻り値】    int    ret    0 : 正常終了
  102.  
  103.     【 解説 】    矩形域内のドットデ-タを書き込みます。
  104.  
  105.  
  106. ■    部分画面の複写
  107.  
  108.     【 書式 】    int GDS_move_block(int x1,int y1,int x2,int y2,int x3,int y3,
  109.                                    char src_page,char dest_page,char mode);
  110.  
  111.     【 引数 】    int    x1    複写元X座標値
  112.             int    y1      〃  Y座標値
  113.             int    x2      〃  対角のX座標値
  114.             int    y2      〃  対角のY座標値
  115.             int    x2    複写元X座標値
  116.             int    y2      〃  Y座標値
  117.             char  src_page  複写元ペ-ジ
  118.             char  dest_page 複写先ペ-ジ
  119.             char    mode    書き込みモ-ド
  120.  
  121.     【戻り値】    int    ret    0 : 正常終了
  122.  
  123.     【 解説 】    矩形域内のドットデ-タを複写します。
  124.  
  125.  
  126. ■    部分画面の消去
  127.  
  128.     【 書式 】    int GDS_part_clear(int x1,int y1,int x2,int y2,char page);
  129.  
  130.     【 引数 】    int    x1    X座標値
  131.             int    y1    Y座標値
  132.             int    x2    対角のX座標値
  133.             int    y2    対角のY座標値
  134.             char    page    消去ペ-ジ
  135.  
  136.     【戻り値】    int    ret    0 : 正常終了
  137.  
  138.     【 解説 】    矩形域内のドットデ-タを消去します。
  139.  
  140.  
  141. ■    書き込みペ-ジの指定
  142.  
  143.     【 書式 】    int GDS_write_page(char page);
  144.  
  145.     【 引数 】    char    page    書き込みペ-ジ
  146.  
  147.     【戻り値】    int    ret    0 : 正常終了
  148.  
  149.     【 解説 】    書き込みペ-ジを指定します。
  150.  
  151.  
  152. ■    表示ペ-ジの指定
  153.  
  154.     【 書式 】    int GDS_display_page(char page);
  155.  
  156.     【 引数 】    char    page    表示ペ-ジ
  157.  
  158.     【戻り値】    int    ret    0 : 正常終了
  159.  
  160.     【 解説 】    表示ペ-ジを指定します。
  161.  
  162.  
  163. ■    図形デ-タの出力
  164.  
  165.     【 書式 】    int GDS_display(char *wp);
  166.  
  167.     【戻り値】    int    ret    0 : 正常終了
  168.  
  169.     【 解説 】      図形デ-タを出力します。
  170.                   本ライブラリは呼出し方の違いから 割り込みオペレ-ション と
  171.                 セッティングオペレ-ション の2種に分類できます。
  172.                   割り込みオペレ-ションは呼び出した時点で、セッティング
  173.                 オペレ-ションは GDS_display 関数を呼び出した時点で描画
  174.                 されます。つまり、セッティングオペレ-ション は作業領域に
  175.                 デ-タを転送するのみで、実際の描画は GDS_display 関数を
  176.                 呼び出し、GDS に通知することで実現しています。
  177.  
  178.  
  179.  
  180.  
  181.  
  182.     セッティングオペレ-ション
  183.     setting operation
  184.  
  185.  
  186.  
  187.  
  188.  
  189. ■    クリップ枠
  190.  
  191.     【 書式 】    void GDS_clip_frame(char *wp,int x1,int y1,int x2,int y2);
  192.  
  193.     【 引数 】    char *    wp    作業領域のアドレス
  194.             int    x1    X座標値
  195.             int    y1    Y座標値
  196.             int    x2    対角のX座標値
  197.             int    y2    対角のY座標値
  198.  
  199.     《 作業領域のサイズ 》    10 バイト
  200.  
  201.  
  202. ■    クリップモ-ド
  203.  
  204.     【 書式 】    void GDS_clip_mode(char *wp,char mode);
  205.  
  206.     【 引数 】    char *    wp    作業領域のアドレス
  207.             char    mode    クリップモ-ド
  208.  
  209.             クリップモ-ド :
  210.             SCREEN        画面枠
  211.             CLIP        クリップ枠
  212.             VIEWPORT    ビュ-ポ-ト
  213.  
  214.     《 作業領域のサイズ 》    4 バイト
  215.  
  216.  
  217. ■    不連続線分
  218.  
  219.     【 書式 】    void GDS_line(char *wp,int x1,int y1,int x2,int y2);
  220.  
  221.     【 引数 】    char *    wp    作業領域のアドレス
  222.             int    x1    X座標値
  223.             int    y1    Y座標値
  224.             int    x2    対角のX座標値
  225.             int    y2    対角のY座標値
  226.  
  227.     《 作業領域のサイズ 》    10 バイト
  228.  
  229.  
  230. ■    ポイント
  231.  
  232.     【 書式 】    void GDS_point(char *wp,int x1,int y1);
  233.  
  234.     【 引数 】    char *    wp    作業領域のアドレス
  235.             int    x1    X座標値
  236.             int    y1    Y座標値
  237.  
  238.     《 作業領域のサイズ 》    4 バイト
  239.  
  240.  
  241. ■    ペイント
  242.  
  243.     【 書式 】    void GDS_paint(char *wp,int x1,int y1,int color);
  244.  
  245.     【 引数 】    char *    wp    作業領域のアドレス
  246.             int    x1    X座標値
  247.             int    y1    Y座標値
  248.             int    color    色識別番号 ( 0 ~ 15 )
  249.  
  250.     《 作業領域のサイズ 》    12 バイト
  251.  
  252.  
  253. ■    矩形
  254.  
  255.     【 書式 】    void GDS_rectangle(char *wp,int x1,int y1,int x2,int y2);
  256.  
  257.     【 引数 】    char *    wp    作業領域のアドレス
  258.             int    x1    X座標値
  259.             int    y1    Y座標値
  260.             int    x2    対角のX座標値
  261.             int    y2    対角のY座標値
  262.  
  263.     《 作業領域のサイズ 》    10 バイト
  264.  
  265.  
  266. ■    円
  267.  
  268.     【 書式 】    void GDS_circle(char *wp,int x1,int y1,int r);
  269.  
  270.     【 引数 】    char *    wp    作業領域のアドレス
  271.             int    x1    中心X座標値
  272.             int    y1    中心Y座標値
  273.             int    r    半径
  274.  
  275.     《 作業領域のサイズ 》    8 バイト
  276.  
  277.  
  278. ■    円弧
  279.  
  280.     【 書式 】    void GDS_arc_circle(char *wp,int x1,int y1,
  281.                                     int sx,int sy,int ex,int ey,int r);
  282.  
  283.     【 引数 】    char *    wp    作業領域のアドレス
  284.             int    x1    中心X座標値
  285.             int    y1    中心Y座標値
  286.             int    sx    開始軸X成分
  287.             int    sy    開始軸Y成分
  288.             int    ex    終了軸X成分
  289.             int    ey    終了軸Y成分
  290.             int    r    半径
  291.  
  292.     《 作業領域のサイズ 》    16 バイト
  293.  
  294.  
  295. ■    扇形(円)
  296.  
  297.     【 書式 】    void GDS_fan_circle(char *wp,int x1,int y1,
  298.                                     int sx,int sy,int ex,int ey,int r);
  299.  
  300.     【 引数 】    char *    wp    作業領域のアドレス
  301.             int    x1    中心X座標値
  302.             int    y1    中心Y座標値
  303.             int    sx    開始軸X成分
  304.             int    sy    開始軸Y成分
  305.             int    ex    終了軸X成分
  306.             int    ey    終了軸Y成分
  307.             int    r    半径
  308.  
  309.     《 作業領域のサイズ 》    18 バイト
  310.  
  311.  
  312. ■    楕円
  313.  
  314.     【 書式 】    void GDS_ellipse(char *wp,int x1,int y1,int x2,int y2);
  315.  
  316.     【 引数 】    char *    wp    作業領域のアドレス
  317.             int    x1    中心X座標値
  318.             int    y1    中心Y座標値
  319.             int    x2    X成分
  320.             int    y2    Y成分
  321.  
  322.     《 作業領域のサイズ 》    14 バイト
  323.  
  324.  
  325. ■    楕円弧
  326.  
  327.     【 書式 】    void GDS_arc_ellipse(char *wp,int x1,int y1,int x2,int y2,
  328.                                      float srad,float erad);
  329.  
  330.     【 引数 】    char *    wp    作業領域のアドレス
  331.             int    x1    中心X座標値
  332.             int    y1    中心Y座標値
  333.             int    x2    X成分
  334.             int    y2    Y成分
  335.             float    srad    開始角 ( ラジアン )
  336.             float    erad    終了角 ( ラジアン )
  337.  
  338.     《 作業領域のサイズ 》    22 バイト
  339.  
  340.  
  341. ■    扇形(楕円)
  342.  
  343.     【 書式 】    void GDS_fan_ellipse(char *wp,int x1,int y1,int x2,int y2,
  344.                                      float srad,float erad);
  345.  
  346.     【 引数 】    char *    wp    作業領域のアドレス
  347.             int    x1    中心X座標値
  348.             int    y1    中心Y座標値
  349.             int    x2    X成分
  350.             int    y2    Y成分
  351.             float    srad    開始角 ( ラジアン )
  352.             float    erad    終了角 ( ラジアン )
  353.  
  354.     《 作業領域のサイズ 》    24 バイト
  355.  
  356.  
  357. ■    線種
  358.  
  359.     【 書式 】    void GDS_line_style(char *wp,char style);
  360.  
  361.     【 引数 】    char *    wp    作業領域のアドレス
  362.             char    style    線分識別番号
  363.  
  364.             線分識別番号 :
  365.             1        実線
  366.             2        破線
  367.             3        点線
  368.             4        一点鎖線
  369.             5        二点鎖線
  370.  
  371.     《 作業領域のサイズ 》    4 バイト
  372.  
  373.  
  374. ■    線色
  375.  
  376.     【 書式 】    void GDS_line_color(char *wp,int color);
  377.  
  378.     【 引数 】    char *    wp    作業領域のアドレス
  379.             int    color    色識別番号 ( 0 ~ 15 )
  380.  
  381.     《 作業領域のサイズ 》    4バイト
  382.  
  383.  
  384. ■    ポイント色
  385.  
  386.     【 書式 】    void GDS_point_color(char *wp,int color);
  387.  
  388.     【 引数 】    char *    wp    作業領域のアドレス
  389.             int    color    色識別番号 ( 0 ~ 15 )
  390.  
  391.     《 作業領域のサイズ 》    4 バイト
  392.  
  393.  
  394. ■    面塗りモ-ド
  395.  
  396.     【 書式 】    void GDS_paint_mode(char *wp,char mode);
  397.  
  398.     【 引数 】    char *    wp    作業領域のアドレス
  399.             char    mode    面塗りモ-ド
  400.  
  401.             面塗りモ-ド :
  402.             N        塗らない
  403.             BF        塗り潰し
  404.             TF        タイル塗り
  405.             HF        ハッチング塗り
  406.  
  407.     《 作業領域のサイズ 》    4 バイト
  408.  
  409.  
  410. ■    面塗り色
  411.  
  412.     【 書式 】    void GDS_paint_color(char *wp,int color);
  413.  
  414.     【 引数 】    char *    wp    作業領域のアドレス
  415.             int    color    色識別番号 ( 0 ~ 15 )
  416.  
  417.     《 作業領域のサイズ 》    4 バイト
  418.  
  419.  
  420. ■    ハッチング種
  421.  
  422.     【 書式 】    void GDS_hatching_style(char *wp,char style);
  423.  
  424.     【 引数 】    char *    wp    作業領域のアドレス
  425.             char    style    ハッチング識別番号
  426.  
  427.             ハッチング識別番号 :
  428.             1        水平線
  429.             2        垂直線
  430.             3        斜線1
  431.             4        斜線2
  432.             5        交差
  433.             6        斜線交差
  434.  
  435.     《 作業領域のサイズ 》    4 バイト
  436.  
  437.  
  438. ■    タイル種
  439.  
  440.     【 書式 】    void GDS_tyle_style(char *wp,char style);
  441.  
  442.     【 引数 】    char *    wp    作業領域のアドレス
  443.             char    style    タイル識別番号
  444.  
  445.     《 作業領域のサイズ 》    4 バイト
  446.  
  447.  
  448. ■    境界線種
  449.  
  450.     【 書式 】    void GDS_boundary_style(char *wp,char style);
  451.  
  452.     【 引数 】    char *    wp    作業領域のアドレス
  453.             char    style    線分識別番号
  454.  
  455.             線分識別番号 :
  456.             1        実線
  457.             2        破線
  458.             3        点線
  459.             4        一点鎖線
  460.             5        二点鎖線
  461.  
  462.     《 作業領域のサイズ 》    4 バイト
  463.  
  464.  
  465. ■    境界線色
  466.  
  467.     【 書式 】    void GDS_boundary_color(char *wp,int color);
  468.  
  469.     【 引数 】    char *    wp    作業領域のアドレス
  470.             int    color    色識別番号 ( 0 ~ 15 )
  471.  
  472.     《 作業領域のサイズ 》    4 バイト
  473.  
  474.  
  475. ■    境界線モ-ド
  476.  
  477.     【 書式 】    void GDS_boundary_mode(char *wp,char mode);
  478.  
  479.     【 引数 】    char *    wp    作業領域のアドレス
  480.             char    mode    境界線モ-ド
  481.  
  482.             境界線モ-ド :
  483.             0        境界線を描画しない
  484.             1        境界線を描画する
  485.  
  486.     《 作業領域のサイズ 》    4 バイト
  487.  
  488.  
  489. ■    描画モ-ド
  490.  
  491.     【 書式 】    void GDS_draw_mode(char *wp,char mode);
  492.  
  493.     【 引数 】    char *    wp    作業領域のアドレス
  494.             char    mode    描画モ-ド
  495.  
  496.         描画モ-ド :
  497.             PRESET        背景色で描画する
  498.             AND        論理積をとって描画する
  499.             PSET        色識別番号で描画する
  500.             XOR        排他的論理和とって描画する
  501.             OR        論理和とって描画する
  502.             NOT        論理否定とって描画する
  503.  
  504.     《 作業領域のサイズ 》    8 バイト
  505.  
  506.  
  507.